It is commonly desirable on the World Wide Web (“Web”) and in other computing scenarios to display sensitive data to users having varying authorization levels. For example, Web sites, games, and mobile applications frequently present a “leaderboard” of top users. Some leaderboards are configured to display potentially sensitive information about the top users to other users having an appropriate authorization level and to obfuscate the sensitive information for users without appropriate authorization. For example, a leaderboard might be configured to show the name, e-mail address, and/or other personally identifying information of top users to other users that have the authorization to view the information.
Leaderboards such as those described above are typically generated by a server computer in direct response to requests made by client applications for the leaderboard. In order to generate such a leaderboard, the server will determine the appropriate authorization level of the current user and then construct the leaderboard based upon the authorization level of the current user. The leaderboard is then returned to the client application for display to the user. In this way, the user can be presented with only the sensitive information that they are authorized to view.
Separately generating content containing sensitive data, such as a leaderboard, each time a user requests the data works well on a small scale. Generating this type of data for each request on a very large scale, such as 100 million times per hour for instance, can be extremely taxing on the server computers responsible for generating the content.
It is with respect to these and other considerations that the disclosure made herein is presented.